#ifndef _SEM_
#define _SEM_

#include <semaphore.h>

class SemObject
{
public:
    SemObject(unsigned int num)
    {
        sem_init(&_sem, 0, num);  // 初始化信号量 线程间共享
    }

    void p()
    {
        //信号量--操作
        sem_wait(&_sem);
    }

    void v()
    {
        // 信号量++操作
        sem_post(&_sem);
    }

    ~SemObject()
    {
        sem_destroy(&_sem);
    }
private:
    sem_t _sem;
};

#endif